// @ts-nocheck

// ----------------------
// type IsNever<T, U = never> = [T] extends [U]
//   ? [U] extends [T]
//     ? true
//     : false
//   : false;

type IsNever<T, U = never> = [T] extends [U] ? true : false;
type A = IsNever<never>; // true
type B = IsNever<string>; // false
type C = IsNever<undefined>; // false
type D = IsNever<any>; // false
